home *** CD-ROM | disk | FTP | other *** search
- Subject: Digested
- Date: Fri, 29 Jul 1994 16:24:32 +1000
- From: Warwick Allison <warwick@cs.uq.oz.au>
- Precedence: bulk
-
-
- Chris Ridd:
- >Warwick writes:
- >>*.papyrus*.key.openFile: KEY = ^O
- >The type [KEY] would not be required if we could more completely specify the
- >attribute-pattern string. eg <application name>.<function>.<attribute>
- >papyrus.opendoc.key "^O"
-
- That's a better idea than mine. Okay, some of the obvious ones are:
-
- Name Values
- ------ ------
- key std keyname, or scancode, or blank for no binding
- text String of ascii characters, delimited by end-of-line
- name String of ascii characters, delimited by end-of-line
- num Decimal number in ascii, 0xHexadecimal number
- geometry [ Width "x" Height ] [ "+" Xoffset "+" Yoffset ] - all in decimal.
- file Filename in ascii, extension gives clue to type. (full path only?)
- font <fontname>@<fontsize>
- color Colour name or hex specification (other?)
- flag yes/on/true/oui/ja/1, no/off/false/non/nein/0
-
- [Reminder: we only have to specify them, not implement them]
-
- >I'm uncertain about the idea of application-types... How many dtp
- >packages or word processors is a user likely to have?
-
- You're probably right. It slows down all the application-specific pattern
- matching too.
-
- <application-name>.<attribute-name>.<attribute-type>
-
- Only attribute-name can have internal "."'s.
-
- myWord.helpDialog.confirm.key: Return (attribute-name = helpDialog.confirm)
- myWord.quitDialog.confirm.key:
-
-
- Now, as soon as we vote on the key shortcuts, we can put it in this form
- and see what it looks like. (With "atariworks.selectAll.key: Alt-#*") :)
-
-
- Kevin O'Donovan:
- >This is what I'm currently thinking:
- >Left button as in X
- >Right button over a text entry area does paste
- >Right button over a widget label does an activate. In this case whenever
- >the mouse moves over such an activate area it will change form to an icon
- >of a mouse with the right button highlighted (black as opposed to white)
-
- I like it, but why can't you just use the left button on the label for
- the activation?
-
- >Now there I agree, but I'm quite happy to let the individual user make his own
- >mind up. If your library enforces your likes/dislikes then its flawed.
-
- Agreed. Some people hate click-to-type, others hate point-to-type. For
- single-tasking systems, the user rarely changes focus, so it is not really
- an issue. But in multitasking systems, it is a BIG issue. For example,
- I am cutting and pasting this digest back and forth from my mail reader.
- If I was running under GEM, I would like to not have to top that mail reader
- window in order to cut text from it (since it is not overlapping this
- window I am typing the digest into). In setting these standards, we must
- keep in mind FUTURE user behaviour, as the applications that follow our
- standard will be 90% of FUTURE apps and 10% of past apps (upgraded and
- preconformant).
-
- >>Dialogs in Windows (on/off)
- >I assume by this you mean wether the dialogs are modeless or not (since
- >you can't do modeless dialogs that aren't in windows without a lot of
- >hacking)? If that's the case then I don't think this is something you can
- >really switch on or off. Nor can I see any reason why a user would want it
- >off.
-
- `modal dialogs in windows'. The only reasons the user might not
- want it is that form_do() dialogs are faster, since they can use
- save-unders for redraw, rather than redraw events. This is expecially
- useful if they use your app with a program for which window redraws are
- expensive (eg. some DTP programs). It needs to be configurable so
- that users of faster machines get the benefits of
- modal-dialogs-in-windows.
-
- >> [list of other attributes]
- >Not convinced these need to be in the file, but I don't really care either way.
-
- Remember: these do NOT need to be in the file, they just need to be
- defined as possibilities, so as to have an agreed-upon-name (not an
- agreed-upon-value though).
-
- Hollis said:
- > I don't quite think you understand how event_multi handles the mouse. If
- > you move the mouse and you don't have a timer set, you will never get a
- > mouse movement message, as they are always being returned.
-
- The correct way to track every mouse movement is to watch a 1x1 pixel
- rectangle. This is documented in many places. (example uses are drawing
- programs and real-time drags)
-
-
- Hollis:
- ]If the button is no longer pressed when you process the message, top the
- ]window. This means that the button was tapped on the window with the intent
- ]to bring it to the front.
-
- Anything like that depends on how fast your machine is.
-
-
- Timothy Miller:
- >I realise this could be used in support of the
- >app-defs file, but I have other reasons I don't like it.
-
- Don't hide them inside, speak out! Perhaps we will see your point and
- abandon our folly; perhaps we will explain something you've missed that
- changes your mind.
-
- >Yeah, sure... and let's make the user spend 5 hours on install, 4 of
- >which is for configuration, and the last hour is for copying from floppy
- >all the code for all the features that the user turned off.
-
- Um... they have DEFAULTS. The user only needs to change them if they
- want to. Is this your objection to app_defs.sys?
-
-
- >KISS: Keep It Simple, Stupid.
-
- These standards almost all specify HOW to do something IF you implement it.
- You are still free to keep it simple, stupid, and anything else you like.
-
- >I am one of many people who have complained about Atari Works wiping out
- >their documents when their little finger slips and hits Ctrl and A at the
- >same time.
-
- Now, if only you could change the shortcut...
-
- By using a fixed standard, you cannot please all of the people all of the
- time. By using an flexible standard, you can please everyone except those
- who think that Their Way Is Best.
-
- >Just because it doesn't happen to you, doesn't mean it doesn't happen to
- >you. If you don't have astygmatism, does that mean that no one else does?
-
- I do, but I don't expect everyone to wear glasses, nor for everyone to
- not wear glasses. And I don't expect people with myopia to wear glasses
- if they want to wear contact lenses. Just give people a little choice,
- and they're easy to please.
-
- Hollis:
- >I doubt anyone would want to publish my documentation, because no one
- >would really care. No one would buy any more Atari books anyway.
-
- This really isn't the attitude required on a list that is supposed to be
- looking at the FUTURE state of Atari GEM applications.
-
- Hollis:
- >I think someone should post some standard code (in C, C++, Pascal, and
- >GfA Basic) so we can all use his/her code in our programs for APP_DEFS.
-
- Did y'all catch my code for pattern-matching against a string with wildcards?
- That's my contribution.
-
- Couldn't we just write it in C and bind it to other languages? Maybe have
- to convert it to ASM (via compiler) for some (can BASICs load C object files?)
-
- >APP_DEFS was only designed to handle the keyboard equivalents of
- >menubar actions, and some actions of the program. It was NOT designed
- >to handle the GUI itself.
-
- `was'? It hasn't BEEN designed yet. If it only handles keyboard equivalents,
- we're back following the meandering path of ASSIGN.SYS, DESKTOP.INF, etc.
- Either a flexible defaults standard, or nothing (that's why it is called
- `APP_DEFS.SYS', not `KEY_DEFS.SYS').
-
- >Say, the user wants those two on one program, and doesn't want both of those
- >or just one of those on another program. To overcome this, he would have
- >to change the configuration each time he ran the program.
-
- The app-defs formats proposed so far all allow per-application and
- global specification of configurations. Keep up.
-
- >I don't think you have ANY idea of what you're talking about. I am in no
- >way "misusing" AES.
-
- Repeatedly using 0-length timers is misusing the AES, as it turns the
- application into the center of the world with AES being used as a key-getter
- and mouse-getter, rather than the event driven model used by the AES,
- and ALL other windowing systems.
-
- Hollis:
- >Kev:
- >> And I don't think you understood what he was proposing. He doesn't need to
- >> track the mouse, he just needs to get a message when it leaves his window.
- >> Sounds like a job for a rectangle event, batman.
- >
- >In which case you don't even need a rectangle event, wilbur. You can just
- >do a wind_find command, and check to see if the mouse leaves the confines
- >of the window. Whoa, that's tough stuff.
-
- Well, you can if you use 0-length timers all the time. You completely
- misunderstand the event driven model.
-
- --
- Warwick
-